import { DynamicModule, Global, Module } from '@nestjs/common';

interface Options {
  path: string;
}

@Global() // 全局模块
@Module({
  // providers: [
  //   {
  //     provide: 'Config',
  //     useValue: {
  //       baseUrl: '/api',
  //     },
  //   },
  // ],
  // exports: [
  //   // 同样需要导出,并在入口模块AppModule中导入
  //   {
  //     provide: 'Config',
  //     useValue: {
  //       baseUrl: '/api',
  //     },
  //   },
  // ],
})
export class ConfigModule {
  static fooRoot(option: Options): DynamicModule {
    return {
      module: ConfigModule,
      providers: [
        {
          provide: 'Config',
          useValue: {
            baseUrl: '/api' + option.path,
          },
        },
      ],
      exports: [
        // 同样需要导出,并在入口模块AppModule中导入
        {
          provide: 'Config',
          useValue: {
            baseUrl: '/api' + option.path,
          },
        },
      ],
    };
  }
}
